package com.tkjt.pms.modules.repos.service;

import com.tkjt.pms.common.entity.TkIndexValueImport;
import com.tkjt.pms.impt.vos.KpiIndexDataVo;
import com.tkjt.pms.impt.vos.KpiIndexValueVo;
import com.tkjt.pms.impt.vos.UpdateCIndexVo;
import com.tkjt.pms.impt.vos.UpdateGIndexVo;
import com.tkjt.pms.modules.kpiadmin.vo.DatagridVO;
import com.tkjt.pms.modules.repos.common.IndexInfoTreeParam;
import com.tkjt.pms.modules.repos.vo.*;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.vo.LoginUser;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;
import java.util.Set;

public interface IndexRepoService {
	
    public Result<?> indexTree(@RequestBody IndexInfoTreeParam treeParam);

    public Result<?>  delNode(@RequestBody IndexInfoTreeVO indexInfoTreeVO);

    public Result<?>  addNode(@RequestBody IndexInfoTreeAddVO indexInfoTreeAddVO);

    public Result<?>  queryAttrs(@RequestBody IndexInfoTreeVO indexInfoTreeVO);

    public Result<?> modifyAttrs(@RequestBody IndexInfoAttrsAddVO indexInfoAttrsAddVO);

    public Result<?> listAttrs(@RequestBody IndexInfoTreeVO IndexInfoTreeVO);

    public Result<?> orderIndexs(IndexInfoTreeVO indexInfoTreeVO);

    public Result<?> indexRuleDatagrid(IndexValueRuleVO indexValueRuleVO);

    public Result<?> whichDataList();

    public Result<?> searchIndexValue(IndexValueRuleVO indexValueRuleVO);

    public Result<?> indexRuleSave(TkIndexValueRuleVO tkIndexValueRuleVO);

    public void  processCIndexData(String indexGroup,String dataType, String indexYearMonth, List<UpdateCIndexVo> results) throws Exception;

    public void processGIndexData(String indexGroup,String dataType, String indexYearMonth, List<UpdateGIndexVo> results) throws Exception;

    public Result<?> confirmImportData(TkIndexValueImport tkIndexValueImport);

    Result<?> kaFillDatagrid(DatagridVO datagridVO, String noVirtual, String dataType);

    Result<?> indexValueDataSave(DatagridVO datagridVO,String dataType);
}
